/***********************************************************************\
*                                                                       *
* This file was created by Component Internal Interface Engine software *
*  Copyright(c) 2000-2012 by Krzysztof Pozniak (pozniak@ise.pw.edu.pl)  *
*                           All Rights Reserved.                        *
*                                                                       *
\***********************************************************************/

package cii_kx1_car3;

import cii_lib.*;

public class CCII_DPM_FIFO {

  public CCII_COMPONENT _CII_DPM_FIFO;

  private CCII_ACCESS_IPAR _IPAR_DATA_WIDTH;
  private CCII_ACCESS_IPAR _IPAR_ADDR_WIDTH;
  public class CMPAR_SIM_LOOP_ENA_CII extends CCII_ACCESS_MPAR {
    public CMPAR_SIM_LOOP_ENA_CII(CCII_TABLE_INDEX itab, CCII_COMPONENT comp) { super(itab,comp);}
    public CCIISYS.CLIST_INTERF_CTRL GetList() {return(CCIISYS.LIST_INTERF_CTRL);}
  };
  private CMPAR_SIM_LOOP_ENA_CII _MPAR_SIM_LOOP_ENA_CII;
  public class CMPAR_PROC_REQ_CII extends CCII_ACCESS_MPAR {
    public CMPAR_PROC_REQ_CII(CCII_TABLE_INDEX itab, CCII_COMPONENT comp) { super(itab,comp);}
    public CCIISYS.CLIST_INTERF_CTRL GetList() {return(CCIISYS.LIST_INTERF_CTRL);}
  };
  private CMPAR_PROC_REQ_CII _MPAR_PROC_REQ_CII;
  private CCII_ACCESS_LPAR _LPAR_PROC_ACK_CII;
  private CCII_ACCESS_IR _BITS_SIM_LOOP_ENA;
  private CCII_ACCESS_IR _BITS_PROC_REQ;
  private CCII_ACCESS_RO _BITS_PROC_ACK;
  private CCII_ACCESS_RO _BITS_EMPTY_BUF;
  private CCII_ACCESS_RO _BITS_EMPTY_BUF_ACK;
  private CCII_ACCESS_RO _BITS_LOST_DATA;
  private CCII_ACCESS_RO _BITS_LOST_DATA_ACK;
  private CCII_ACCESS_RO _BITS_WR_ADDR;
  private CCII_ACCESS_RO _BITS_WR_ADDR_ACK;
  private CCII_ACCESS_RW _BITS_RD_ADDR;
  private CCII_ACCESS_RO _BITS_RD_ADDR_ACK;
  private CCII_DPM[] _COMP_DPM;
  public CCII_DPM_FIFO(CCII_TABLE_INDEX itab, int cidx, CCII_INTERFACE interf, CCII_COMPONENT parent) {
    _CII_DPM_FIFO=new CCII_COMPONENT(itab,cidx,parent);
    _IPAR_DATA_WIDTH=null;
    _IPAR_ADDR_WIDTH=null;
    _MPAR_SIM_LOOP_ENA_CII=null;
    _MPAR_PROC_REQ_CII=null;
    _LPAR_PROC_ACK_CII=null;
    _BITS_SIM_LOOP_ENA=null;
    _BITS_PROC_REQ=null;
    _BITS_PROC_ACK=null;
    _BITS_EMPTY_BUF=null;
    _BITS_EMPTY_BUF_ACK=null;
    _BITS_LOST_DATA=null;
    _BITS_LOST_DATA_ACK=null;
    _BITS_WR_ADDR=null;
    _BITS_WR_ADDR_ACK=null;
    _BITS_RD_ADDR=null;
    _BITS_RD_ADDR_ACK=null;
    _COMP_DPM=null;
    int _cnum_;
    if(_CII_DPM_FIFO.Number()==0) return;
    _IPAR_DATA_WIDTH = new CCII_ACCESS_IPAR(itab,_CII_DPM_FIFO);
    _IPAR_ADDR_WIDTH = new CCII_ACCESS_IPAR(itab,_CII_DPM_FIFO);
    _MPAR_SIM_LOOP_ENA_CII = new CMPAR_SIM_LOOP_ENA_CII(itab,_CII_DPM_FIFO);
    _MPAR_PROC_REQ_CII = new CMPAR_PROC_REQ_CII(itab,_CII_DPM_FIFO);
    _LPAR_PROC_ACK_CII = new CCII_ACCESS_LPAR(itab,_CII_DPM_FIFO);
    _BITS_SIM_LOOP_ENA = new CCII_ACCESS_IR(itab,interf,_CII_DPM_FIFO);
    _BITS_PROC_REQ = new CCII_ACCESS_IR(itab,interf,_CII_DPM_FIFO);
    _BITS_PROC_ACK = new CCII_ACCESS_RO(itab,interf,_CII_DPM_FIFO);
    _BITS_EMPTY_BUF = new CCII_ACCESS_RO(itab,interf,_CII_DPM_FIFO);
    _BITS_EMPTY_BUF_ACK = new CCII_ACCESS_RO(itab,interf,_CII_DPM_FIFO);
    _BITS_LOST_DATA = new CCII_ACCESS_RO(itab,interf,_CII_DPM_FIFO);
    _BITS_LOST_DATA_ACK = new CCII_ACCESS_RO(itab,interf,_CII_DPM_FIFO);
    _BITS_WR_ADDR = new CCII_ACCESS_RO(itab,interf,_CII_DPM_FIFO);
    _BITS_WR_ADDR_ACK = new CCII_ACCESS_RO(itab,interf,_CII_DPM_FIFO);
    _BITS_RD_ADDR = new CCII_ACCESS_RW(itab,interf,_CII_DPM_FIFO);
    _BITS_RD_ADDR_ACK = new CCII_ACCESS_RO(itab,interf,_CII_DPM_FIFO);
    _COMP_DPM = new CCII_DPM[_cnum_=Math.max(itab.GetItem().Repeat,1)];
    for (int count=0; count<_cnum_; count ++)
      _COMP_DPM[count]=new CCII_DPM(itab,count,interf,_CII_DPM_FIFO);
  }
  public CCII_COMPONENT CII_DPM_FIFO() {return(_CII_DPM_FIFO.Number()==0?null:_CII_DPM_FIFO);};
  public CCII_ACCESS_IPAR IPAR_DATA_WIDTH() {return(_IPAR_DATA_WIDTH);};
  public CCII_ACCESS_IPAR IPAR_ADDR_WIDTH() {return(_IPAR_ADDR_WIDTH);};
  public CMPAR_SIM_LOOP_ENA_CII MPAR_SIM_LOOP_ENA_CII() {return(_MPAR_SIM_LOOP_ENA_CII);};
  public CMPAR_PROC_REQ_CII MPAR_PROC_REQ_CII() {return(_MPAR_PROC_REQ_CII);};
  public CCII_ACCESS_LPAR LPAR_PROC_ACK_CII() {return(_LPAR_PROC_ACK_CII);};
  public CCII_ACCESS_IR BITS_SIM_LOOP_ENA() {return(_BITS_SIM_LOOP_ENA);};
  public CCII_ACCESS_IR BITS_PROC_REQ() {return(_BITS_PROC_REQ);};
  public CCII_ACCESS_RO BITS_PROC_ACK() {return(_BITS_PROC_ACK);};
  public CCII_ACCESS_RO BITS_EMPTY_BUF() {return(_BITS_EMPTY_BUF);};
  public CCII_ACCESS_RO BITS_EMPTY_BUF_ACK() {return(_BITS_EMPTY_BUF_ACK);};
  public CCII_ACCESS_RO BITS_LOST_DATA() {return(_BITS_LOST_DATA);};
  public CCII_ACCESS_RO BITS_LOST_DATA_ACK() {return(_BITS_LOST_DATA_ACK);};
  public CCII_ACCESS_RO BITS_WR_ADDR() {return(_BITS_WR_ADDR);};
  public CCII_ACCESS_RO BITS_WR_ADDR_ACK() {return(_BITS_WR_ADDR_ACK);};
  public CCII_ACCESS_RW BITS_RD_ADDR() {return(_BITS_RD_ADDR);};
  public CCII_ACCESS_RO BITS_RD_ADDR_ACK() {return(_BITS_RD_ADDR_ACK);};
  public CCII_DPM COMP_DPM(int num) {return(_COMP_DPM[num].CII_DPM()==null?null:_COMP_DPM[num]);};
}
